1453B - Suffix Operations - CodeForces Solution


constructive algorithms implementation *1400

Please click on ads to support us..

C++ Code:

# include <bits/stdc++.h>
# define ll long long
# define vi vector<int>
# define pb push_back
# define ins insert
# define pii pair<int, int>
# define pll pair<long long, long long>
# define fi first
# define se second
# define endl '\n'
# define jess ios_base::sync_with_stdio(0); cin.tie(0); cout.tie(0);
using namespace std;

ll t, n, a[200005];

int main() {
    jess;
    cin >> t;
    while(t--) {
        cin >> n;
        ll ans=0;
        for(int i=1; i<=n; i++) {
            cin >> a[i];
            if(i>=2) {
                ans+=abs(a[i]-a[i-1]);
            }
        }
        ll ope=max(abs(a[1]-a[2]), abs(a[n]-a[n-1]));
        for(int i=2; i<n; i++) {
            ope=max(ope, abs(a[i]-a[i-1])+abs(a[i+1]-a[i])-abs(a[i+1]-a[i-1]));
        }
        cout << ans-ope << endl;
    }
}


Comments

Submit
0 Comments
More Questions

1615B - And It's Non-Zero
1619E - MEX and Increments
34B - Sale
1436A - Reorder
1363C - Game On Leaves
1373C - Pluses and Minuses
1173B - Nauuo and Chess
318B - Strings of Power
1625A - Ancient Civilization
864A - Fair Game
1663B - Mike's Sequence
448A - Rewards
1622A - Construct a Rectangle
1620A - Equal or Not Equal
1517A - Sum of 2050
620A - Professor GukiZ's Robot
1342A - Road To Zero
1520A - Do Not Be Distracted
352A - Jeff and Digits
1327A - Sum of Odd Integers
1276A - As Simple as One and Two
812C - Sagheer and Nubian Market
272A - Dima and Friends
1352C - K-th Not Divisible by n
545C - Woodcutters
1528B - Kavi on Pairing Duty
339B - Xenia and Ringroad
189A - Cut Ribbon
1182A - Filling Shapes
82A - Double Cola